#include<iostream>
#include<cstdio>
#include<initializer_list>
using namespace std;
template<class T>
class Date
{
    int _year;
    int _month;
    int _day;
    int * _p;
public:
    Date()
    {
        _year = 2000;
        _month = 1;
        _day = 1;
        _p = nullptr;
    }
    Date(int year, int month, int day):
        _year(year),
        _month(month),
        _day(day),
        _p(nullptr)
    {}
    Date(initilaizer_list<int>&& _init_List):_p(nullptr)
    {
        _year = _init_List[0];
        _day = _init_List[2];
        _month = _init_List[1]; 
    }
    ~Date()
    {
        _year = 0;
        _month = 0;
        _day = 0;

    }
    Date(const Date& new1)
    {

    }
    Date& operator=(const Date& ret)
    {

    }
    Date& operator++()
    {

    }
    Date operator++(int)
    {

    }
    Date operator+(Date& ret)
    {

    }
    Date operator-(Date& tem)
    {

    }
    Date operator+=(int a)
    {

    }
    Date operator+=(Date& a)
    {

    }
    Date operator-(int a)
    {
    }

    
};
struct add_fuc
{
    int operator()(int a,int c)
    {
        return a + c;
    }
};
int main()
{
    
}